package com.taobao.api.request;

import java.util.List;
import com.taobao.api.internal.mapping.ApiField;
import com.taobao.api.internal.mapping.ApiListField;
import com.taobao.api.TaobaoObject;
import java.util.Map;

import com.taobao.api.ApiRuleException;
import com.taobao.api.BaseTaobaoRequest;
import com.taobao.api.internal.util.TaobaoHashMap;
import com.taobao.api.internal.util.json.JSONWriter;
import com.taobao.api.response.RdcAligeniusWarehouseReverseUpdateResponse;

/**
 * TOP API: taobao.rdc.aligenius.warehouse.reverse.update request
 * 
 * @author top auto create
 * @since 1.0, 2019.05.16
 */
public class RdcAligeniusWarehouseReverseUpdateRequest extends BaseTaobaoRequest<RdcAligeniusWarehouseReverseUpdateResponse> {
	
	

	/** 
	* 参数
	 */
	private String param0;

	public void setParam0(String param0) {
		this.param0 = param0;
	}

	public void setParam0(UpdateReverseStatusDto param0) {
		this.param0 = new JSONWriter(false,true).write(param0);
	}

	public String getParam0() {
		return this.param0;
	}

	public String getApiMethodName() {
		return "taobao.rdc.aligenius.warehouse.reverse.update";
	}

	public Map<String, String> getTextParams() {		
		TaobaoHashMap txtParams = new TaobaoHashMap();
		txtParams.put("param0", this.param0);
		if(this.udfParams != null) {
			txtParams.putAll(this.udfParams);
		}
		return txtParams;
	}

	public Class<RdcAligeniusWarehouseReverseUpdateResponse> getResponseClass() {
		return RdcAligeniusWarehouseReverseUpdateResponse.class;
	}

	public void check() throws ApiRuleException {
	}
	
	/**
 * 货品列表
 *
 * @author top auto create
 * @since 1.0, null
 */
public static class WarehouseReverseRefundGoodsItemDto extends TaobaoObject {

	private static final long serialVersionUID = 7327897411829125117L;

	/**
		 * 实付金额（单位：分）
		 */
		@ApiField("actual_fee")
		private Long actualFee;
		/**
		 * 实发数量
		 */
		@ApiField("actual_qty")
		private Long actualQty;
		/**
		 * 商品名称
		 */
		@ApiField("auction_name")
		private String auctionName;
		/**
		 * 扩展字段，JSONObject格式
		 */
		@ApiField("extra")
		private String extra;
		/**
		 * 货品行ID
		 */
		@ApiField("id")
		private String id;
		/**
		 * 货品编码
		 */
		@ApiField("item_code")
		private String itemCode;
		/**
		 * 货品仓储系统编码
		 */
		@ApiField("item_id")
		private String itemId;
		/**
		 * 货品名称
		 */
		@ApiField("item_name")
		private String itemName;
		/**
		 * 子订单ID
		 */
		@ApiField("oid")
		private Long oid;
		/**
		 * 货主
		 */
		@ApiField("owner_nick")
		private String ownerNick;
		/**
		 * 计划数量
		 */
		@ApiField("plan_qty")
		private Long planQty;
		/**
		 * 计划状态（1=正品；2=残品；3=部分正品）
		 */
		@ApiField("plan_status")
		private Long planStatus;
		/**
		 * 单价（单位：分）
		 */
		@ApiField("price")
		private Long price;
		/**
		 * 商品条码
		 */
		@ApiField("qr_code")
		private String qrCode;
		/**
		 * 状态（1=正品；2=残品；3=部分正品；4=未确认）
		 */
		@ApiField("status")
		private Long status;
		/**
		 * 1=淘系子订单，2=赠品,3=未知
		 */
		@ApiField("type")
		private Long type;
	

	public Long getActualFee() {
			return this.actualFee;
		}
		public void setActualFee(Long actualFee) {
			this.actualFee = actualFee;
		}
		public Long getActualQty() {
			return this.actualQty;
		}
		public void setActualQty(Long actualQty) {
			this.actualQty = actualQty;
		}
		public String getAuctionName() {
			return this.auctionName;
		}
		public void setAuctionName(String auctionName) {
			this.auctionName = auctionName;
		}
		public String getExtra() {
			return this.extra;
		}
		public void setExtra(String extra) {
			this.extra = extra;
		}
		public String getId() {
			return this.id;
		}
		public void setId(String id) {
			this.id = id;
		}
		public String getItemCode() {
			return this.itemCode;
		}
		public void setItemCode(String itemCode) {
			this.itemCode = itemCode;
		}
		public String getItemId() {
			return this.itemId;
		}
		public void setItemId(String itemId) {
			this.itemId = itemId;
		}
		public String getItemName() {
			return this.itemName;
		}
		public void setItemName(String itemName) {
			this.itemName = itemName;
		}
		public Long getOid() {
			return this.oid;
		}
		public void setOid(Long oid) {
			this.oid = oid;
		}
		public String getOwnerNick() {
			return this.ownerNick;
		}
		public void setOwnerNick(String ownerNick) {
			this.ownerNick = ownerNick;
		}
		public Long getPlanQty() {
			return this.planQty;
		}
		public void setPlanQty(Long planQty) {
			this.planQty = planQty;
		}
		public Long getPlanStatus() {
			return this.planStatus;
		}
		public void setPlanStatus(Long planStatus) {
			this.planStatus = planStatus;
		}
		public Long getPrice() {
			return this.price;
		}
		public void setPrice(Long price) {
			this.price = price;
		}
		public String getQrCode() {
			return this.qrCode;
		}
		public void setQrCode(String qrCode) {
			this.qrCode = qrCode;
		}
		public Long getStatus() {
			return this.status;
		}
		public void setStatus(Long status) {
			this.status = status;
		}
		public Long getType() {
			return this.type;
		}
		public void setType(Long type) {
			this.type = type;
		}

}

	/**
 * 参数
 *
 * @author top auto create
 * @since 1.0, null
 */
public static class UpdateReverseStatusDto extends TaobaoObject {

	private static final long serialVersionUID = 1285265256866995415L;

	/**
		 * 详细地址
		 */
		@ApiField("adr")
		private String adr;
		/**
		 * 城市
		 */
		@ApiField("city_name")
		private String cityName;
		/**
		 * 国家
		 */
		@ApiField("country_name")
		private String countryName;
		/**
		 * 物流公司code
		 */
		@ApiField("cp_code")
		private String cpCode;
		/**
		 * 物流公司名称
		 */
		@ApiField("cp_name")
		private String cpName;
		/**
		 * 创建时间
		 */
		@ApiField("create_time")
		private String createTime;
		/**
		 * 县区
		 */
		@ApiField("district_name")
		private String districtName;
		/**
		 * 运单编号
		 */
		@ApiField("mail_no")
		private String mailNo;
		/**
		 * 描述信息
		 */
		@ApiField("msg")
		private String msg;
		/**
		 * 子订单号
		 */
		@ApiField("oid")
		private Long oid;
		/**
		 * 省份
		 */
		@ApiField("province_name")
		private String provinceName;
		/**
		 * 退款单号
		 */
		@ApiField("refund_id")
		private Long refundId;
		/**
		 * 销退单号
		 */
		@ApiField("return_order_id")
		private String returnOrderId;
		/**
		 * 销退单状态(1=已创建；2=待入库；3=已入库，5=已取消)
		 */
		@ApiField("status")
		private Long status;
		/**
		 * 主订单号
		 */
		@ApiField("tid")
		private Long tid;
		/**
		 * 仓库名称
		 */
		@ApiField("warehouse_name")
		private String warehouseName;
		/**
		 * 货品列表
		 */
		@ApiListField("warehouse_reverse_refund_goods_item_d_t_o_list")
		@ApiField("warehouse_reverse_refund_goods_item_dto")
		private List<WarehouseReverseRefundGoodsItemDto> warehouseReverseRefundGoodsItemDTOList;
	

	public String getAdr() {
			return this.adr;
		}
		public void setAdr(String adr) {
			this.adr = adr;
		}
		public String getCityName() {
			return this.cityName;
		}
		public void setCityName(String cityName) {
			this.cityName = cityName;
		}
		public String getCountryName() {
			return this.countryName;
		}
		public void setCountryName(String countryName) {
			this.countryName = countryName;
		}
		public String getCpCode() {
			return this.cpCode;
		}
		public void setCpCode(String cpCode) {
			this.cpCode = cpCode;
		}
		public String getCpName() {
			return this.cpName;
		}
		public void setCpName(String cpName) {
			this.cpName = cpName;
		}
		public String getCreateTime() {
			return this.createTime;
		}
		public void setCreateTime(String createTime) {
			this.createTime = createTime;
		}
		public String getDistrictName() {
			return this.districtName;
		}
		public void setDistrictName(String districtName) {
			this.districtName = districtName;
		}
		public String getMailNo() {
			return this.mailNo;
		}
		public void setMailNo(String mailNo) {
			this.mailNo = mailNo;
		}
		public String getMsg() {
			return this.msg;
		}
		public void setMsg(String msg) {
			this.msg = msg;
		}
		public Long getOid() {
			return this.oid;
		}
		public void setOid(Long oid) {
			this.oid = oid;
		}
		public String getProvinceName() {
			return this.provinceName;
		}
		public void setProvinceName(String provinceName) {
			this.provinceName = provinceName;
		}
		public Long getRefundId() {
			return this.refundId;
		}
		public void setRefundId(Long refundId) {
			this.refundId = refundId;
		}
		public String getReturnOrderId() {
			return this.returnOrderId;
		}
		public void setReturnOrderId(String returnOrderId) {
			this.returnOrderId = returnOrderId;
		}
		public Long getStatus() {
			return this.status;
		}
		public void setStatus(Long status) {
			this.status = status;
		}
		public Long getTid() {
			return this.tid;
		}
		public void setTid(Long tid) {
			this.tid = tid;
		}
		public String getWarehouseName() {
			return this.warehouseName;
		}
		public void setWarehouseName(String warehouseName) {
			this.warehouseName = warehouseName;
		}
		public List<WarehouseReverseRefundGoodsItemDto> getWarehouseReverseRefundGoodsItemDTOList() {
			return this.warehouseReverseRefundGoodsItemDTOList;
		}
		public void setWarehouseReverseRefundGoodsItemDTOList(List<WarehouseReverseRefundGoodsItemDto> warehouseReverseRefundGoodsItemDTOList) {
			this.warehouseReverseRefundGoodsItemDTOList = warehouseReverseRefundGoodsItemDTOList;
		}

}


}